Analysis-based Refactorings for Haskell

نویسندگان

  • Christopher Brown
  • Simon Thompson
چکیده

Refactoring is the process of improving the design of existing programs without changing their external behaviour. Refactoring can make a program easier to understand or modify if applied appropriately. Preserving behaviour guarantees that refactoring does not introduce (or remove) any bugs. Refactoring has taken a prominent place in software development and maintenance, but most of the recent success has been in the OO and XP communities. HaRe, the Haskell Refactorer, developed at the University of Kent by Huiqing Li, Claus Reinke and Simon Thompson, is a refactoring tool for Haskell 98. This paper presents a number of new refactorings for HaRe that fall under the category of program-analysis and it also presents some new refactorings that make use of the GHC type-checker; the new architecture for HaRe encompassing the type-checker is also discussed. General Terms Transformation, Refactoring, Program Slicing, Languages, Design

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formalisation of Haskell refactorings

Refactoring is a technique for improving the design of existing programs without changing their external behaviour. HaRe is the refactoring tool we have built to support refactoring Haskell 98 programs. Along with the development of HaRe, we have also investigated the formal specification and proof of validity of refactorings. This formalisation process helps to clarify the meaning of refactori...

متن کامل

An Expression Processor: A Case Study in Refactoring Haskell Programs

Refactoring is the process of changing the structure of a program while preserving its behaviour. This behaviour preservation is crucial so that refactorings do not introduce any bugs. Refactoring is aimed at increasing code quality, programming productivity and code reuse. Refactoring has been practised manually by programmers for as long as programs have been written; however, with the advent...

متن کامل

A Comparative Study of Refactoring Haskell and Erlang Programs

Refactoring is about changing the design of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring. Although both Haskell and Erlang are general-purpose fun...

متن کامل

A Case Study in Refactoring Functional Programs

Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of pro...

متن کامل

ParaForming: Forming Parallel Haskell Programs Using Novel Refactoring Techniques

Enabling programmers to “think parallel” is critical if we are to be able to effectively exploit future multicore/manycore architectures. This paper introduces paraforming : a new approach to constructing parallel functional programs using formally-defined refactoring transformations. We introduce a number of new refactorings for Parallel Haskell that capture common parallel abstractions, such ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006